#include "ThreadBase.h"
#include "CircleDequeueBase.h"
#include "FileBase.h"
#include <map>
#include <string>

using namespace std;

class ThreadReadFile : public ThreadBase
{
public:
	//FileReadThread(CircleDequeue* p_pcEntireDBF, CircleDequeue* p_pcIncrementDBF);
	ThreadReadFile(map<int,CircleDequeueBase*> p_mapDBF);
	~ThreadReadFile();

protected:
	virtual void Run();

private:
	void GetMonthDay(string &p_strMonth, bool p_bFillBlankMonth, string &p_strDay, bool p_bFillBlankDay);
	void InitFileProcessor();
	FileBase* GetProcessor(int p_uiProcessorIndex);

private:
	map<int,CircleDequeueBase*> m_mapDBF;
	map<int,FileBase*> m_mapFileProcessor;
};